package com.zy.je.common.core.utils.lunar;


import com.zy.je.common.core.utils.lang.StringUtil;
import com.nlf.calendar.Lunar;
import com.nlf.calendar.Solar;
import lombok.extern.slf4j.Slf4j;
import org.dromara.hutool.http.HttpUtil;
import org.dromara.hutool.http.client.HttpDownloader;

@Slf4j
public class LunarDemo {
    public static void main(String[] args) {
        //api文档：https://6tail.cn/calendar/api.html#lunar.new.html
        //指定阴历的某一天，注意月份为1到12，闰月为负，即闰2月=-2。
        Lunar date = new Lunar(2023,-2,1,18,30,00);
        log.debug(date.toFullString());
        System.out.println(StringUtil.fmtWithParam(
                "{},{},{}",date.getYear(),date.getMonth(),date.getDay()
        ));
        Solar solar = date.getSolar();
        System.out.println(solar.toFullString());
        Solar solar1 = new Solar(2002,4,3);
        Lunar date1 = new Lunar(solar1);
        System.out.println(StringUtil.fmtWithParam(
                "{},{},{}",date1.getYear(),date1.getMonth(),date1.getDay()
        ));
    }
//    /**
//     * 1901-2100年数据验证
//     * 可通过香港天文台提供的农历对照表数据进行验证：https://www.hko.gov.hk/tc/gts/time/conversion1_text.htm
//     */
//    @Deprecated
//    public static void loadPubData() {
//        final int START = 1901;
//        final int END = 2100;
//        for (int year=START; year<=END; year++){
//            String uri = "https://www.hko.gov.hk/tc/gts/time/calendar/text/files/T" + year + "c.txt";
//            try {
//                // 发送请求
//                byte[] contents = HttpDownloader.downloadBytes(uri);
//                String content = new String(contents,"BIG5");
//                System.out.println(content);
//                // 验证代码TODO
//            } catch (Exception e){
//                e.printStackTrace();
//            }
//        }
//    }

}
